在Java 8中,可以使用Stream的collect()方法将一个Stream转换为一个Map对象。其中,collect()方法的参数是一个Collector对象,可以使用Collectors.toMap()方法创建一个Collector对象,该方法接受两个Function类型的参数,一个用于将Stream中的元素映射为Map的键,另一个用于将Stream中的元素映射为Map的值。以下是一个示例:
import java.util.*;
import java.util.stream.Collectors;
public class StreamMapToMapExample {
public static void main(String[] args) {
// 创建一个 Stream 对象
Stream stream = Stream.of("apple", "banana", "cherry", "date");
// 将 Stream 转换为 Map
Map map = stream.collect(Collectors.toMap(
// 将字符串映射为键
s -> s,
// 将字符串的长度映射为值
s -> s.length()));
// 输出转换后的 Map
System.out.println(map);
}
}
在上面的示例中,Stream对象包含了一些字符串元素,使用Collectors.toMap()方法将这些字符串转换为一个Map对象,其中字符串作为键,字符串长度作为值。输出结果如下:
{banana=6, cherry=6, apple=5, date=4}
希望这个例子可以帮助你理解如何使用Stream将一个Map对象转换为另一个Map对象。
|